package com.srmt.feishu.client.impl.services;

import com.lark.oapi.Client;
import com.srmt.feishu.client.DocxService;
import com.srmt.feishu.client.DriveService;
import com.srmt.feishu.client.SheetsService;

/**
 * 服务工厂类
 *
 * 提供创建各种默认服务实现的工厂方法
 *
 * @author SRMT Development Team
 * @since 2.0.0
 */
public class ServiceFactory {

    // 防止实例化
    private ServiceFactory() {
        throw new AssertionError("不能实例化工厂类");
    }

    /**
     * 创建文档服务
     *
     * @param client 飞书SDK客户端
     * @return 文档服务实例
     */
    public static DocxService createDocxService(Client client) {
        return new DefaultDocxServiceImpl(client);
    }

    /**
     * 创建云盘服务
     *
     * @param client 飞书SDK客户端
     * @return 云盘服务实例
     */
    public static DriveService createDriveService(Client client) {
        return new DefaultDriveServiceImpl(client);
    }

    /**
     * 创建电子表格服务
     *
     * @param client 飞书SDK客户端
     * @return 电子表格服务实例
     */
    public static SheetsService createSheetsService(Client client) {
        return new DefaultSheetsServiceImpl(client);
    }
}
